﻿<%@ Page Language="C#" MasterPageFile="~/MasterPages/MasterPage.Master" AutoEventWireup="true" CodeBehind="ControlPanel.aspx.cs" Inherits="WebSite.Administrador.ControlPanel" MaintainScrollPositionOnPostback="true" Title="Panel de Control" %>

<asp:Content ID="Content_Header" ContentPlaceHolderID="ContentPlaceHolder_Header"
    runat="server">
    <div id="SignOutDiv">
        <asp:Button ID="Button_LogOff" runat="server" Text="Salir" 
            onclick="Button_LogOff_Click" />
    </div>
</asp:Content>

<asp:Content ID="Content_Sidebar" ContentPlaceHolderID="ContentPlaceHolder_Sidebar"
    runat="server">
    <li><a href="ControlPanel.aspx">Panel de control</a></li>
</asp:Content>

<asp:Content ID="Content_Content" ContentPlaceHolderID="ContentPlaceHolder_Content"  runat="server">
    <div class="Header2">
        Empresas registradas
        <asp:Button ID="Button_MostrarPanelEmpresasRegistradas" runat="server" Text="▼" 
            onclick="Button_MostrarPanelEmpresasRegistradas_Click" CausesValidation="false" />               
    </div>
    <asp:Panel ID="Panel_EmpresasRegistradas" runat="server" Visible="False">
        <br />        
        <asp:GridView ID="GridView_Empresas" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="ID" 
            onselectedindexchanged="GridView_Empresas_SelectedIndexChanged">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" Visible="false" />
                <asp:BoundField DataField="Activa" HeaderText="Activa"/>
                <asp:BoundField DataField="Nombre" HeaderText="Nombre"/>
                <asp:BoundField DataField="Descripcion" HeaderText="Descripcion" ReadOnly="True" />
            </Columns>
            <EmptyDataTemplate>
                <asp:Label ID="Label_NoEmpresasActivas" runat="server" SkinID="MensajeError"
                    Text="No hay empresas activas actualmente" Visible="true"></asp:Label>
            </EmptyDataTemplate>
        </asp:GridView>
        <br />
        <asp:Label ID="Label_MensajeErrorActivacionEmpresa" runat="server" 
            SkinID="MensajeError" EnableViewState="False"></asp:Label>
        <br />
        <table>
            <thead>
            </thead>
            <tbody>
                <tr>
                    <td>
                    <asp:Button ID="Button_ActivarEmpresa" runat="server" Text="Activar" Enabled="False"
                    Width="120px" onclick="Button_ActivarEmpresa_Click" />
                    </td>
                    <td>
                    <asp:Button ID="Button_DesactivarEmpresa" runat="server" Text="Desactivar" Enabled="False"
                    Width="120px" onclick="Button_DesactivarEmpresa_Click"/>
                    </td>
                </tr>
            </tbody>    
        </table>
        <br />
        </asp:Panel>
        <asp:Panel ID="Panel_DatosEmpresasRegistradas" runat="server" 
        Visible="False" EnableViewState="false">
        <h4>Datos de Empresa</h4>
        
        <asp:GridView ID="GridView_DatosEmpresa" runat="server" AutoGenerateColumns="False"
                DataSourceID="LinqDataSource_Empesa" EnableTheming="False"
                SkinID="Summary" EnableViewState="False" 
                onrowdatabound="GridView_DatosEmpresa_RowDataBound">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <h5 class="DatosVacanteHR">Logo</h5>
                            <%--<%# EvaluateIfFotoEqualsNull_Empresas()%>--%>
                            <div class="center">
                                <asp:Image ID="Image_LogoEmpresa" runat="server" Width="100px" Height="100px" />
                            </div>
                            <h5 class="DatosVacanteHR">Nombre</h5>
                            <%# Eval("Nombre")%>
                            <h5 class="DatosVacanteHR">RNC</h5>
                            <%# Eval("RNC")%>
                            <h5 class="DatosVacanteHR">Descripción</h5>
                            <%# EvaluateIfDescripcionEqualsNull_Empresas()%>
                            <h5 class="DatosVacanteHR">Dirección</h5>
                            <%# EvaluateIfDireccionEqualsNull_Empresas()%>
                            <h5 class="DatosVacanteHR">País</h5>
                            <%# Eval("Paise.Descripcion")%>
                            <h5 class="DatosVacanteHR">Administrador Creador</h5>
                            <%# EvaluateIfUsuarioCreadorEqualsNull_Empresas()%>
                           
                            <hr class="DatosVacanteHR" />
                            <span>Esta empresa ha estado en el sistema desde
                                <br />
                                <span class="LetraRoja">
                                    <%# EvaluateIfFechaCreacionEqualsNull_Empresas()%>
                                </span>
                          </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <asp:LinqDataSource ID="LinqDataSource_Empesa" runat="server" ContextTypeName="BLL.DataContextClasses.DataClassesDataContext"
                TableName="Empresas" Where="ID == @ID_Empresa">
    </asp:LinqDataSource>
    </asp:Panel>
    
    <div class="Header2">
        Agregar empresa
        <asp:Button ID="Button_MostrarPanelEmpresa" runat="server" Text="▼" 
            onclick="Button_MostrarPanelEmpresa_Click" CausesValidation="false" />     
    </div>           
    
            
    <asp:Panel ID="Panel_AgregarEmpresa" runat="server" Visible="False">
        <br />
        <table>
            <tbody>                
                <tr>
                    <td>
                        RNC:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_RNC" runat="server" Width="250px" MaxLength="11"></asp:TextBox>
                    </td>
                    <td>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator_NewRNC" runat="server" 
                            ErrorMessage="Debe llenar el campo &quot;RNC&quot;." ValidationGroup="ValGroupNuevaEmpresa" 
                            ControlToValidate="TextBox_RNC">*</asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator3_NewRNC" runat="server" 
                            ControlToValidate="TextBox_RNC" ValidationGroup="ValGroupNuevaEmpresa" 
                            ErrorMessage="El &quot;RNC&quot; ingresado no tiene un formato correcto." 
                            ValidationExpression="\d{11}|\d{9}">*</asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Nombre:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_Nombre" runat="server" Width="250px"></asp:TextBox>
                    </td>
                    <td>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator_Nombre" runat="server" 
                            ErrorMessage="Debe llenar el campo &quot;Nombre&quot;." ValidationGroup="ValGroupNuevaEmpresa" 
                            ControlToValidate="TextBox_Nombre">*</asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Direccion:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_Direccion" runat="server" Height="50px" TextMode="MultiLine"
                            Width="250px"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Descripcion:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_Descripcion" runat="server" Height="50px" TextMode="MultiLine"
                            Width="250px"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Teléfono:                         
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_Telefono" runat="server" Width="250px" MaxLength="12"></asp:TextBox>
                    </td>
                    <td>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator_NewTelefono" runat="server" 
                            ControlToValidate="TextBox_Telefono" ValidationGroup="ValGroupNuevaEmpresa" 
                            ErrorMessage="El &quot;Telefono&quot; ingresado no tiene un formato correcto." 
                            ValidationExpression="\d{3}-\d{3}-\d{4}">*</asp:RegularExpressionValidator>                        
                    </td>
                </tr>
                <tr>
                    <td>
                        E-Mail:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_EMail" runat="server" Width="250px"></asp:TextBox>
                    </td>
                    <td>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator_NewEmail" runat="server" 
                            ErrorMessage='El "E-Mail" ingresado no tiene un formato correcto.' 
                            ControlToValidate="TextBox_EMail" ValidationGroup="ValGroupNuevaEmpresa"
                            ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        Persona de
                        <br />
                        Contacto:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_Contacto" runat="server" Width="250px"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Cargo de 
                        <br />
                        Contacto:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_CargoContacto" runat="server" Width="250px"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Pais:
                    </td>
                    <td>
                        <asp:DropDownList ID="DropDownList_Pais" runat="server" Width="250px" 
                            DataSourceID="PaisDataSource" DataTextField="Descripcion" 
                            DataValueField="ID"></asp:DropDownList>
                        <asp:LinqDataSource ID="PaisDataSource" runat="server" 
                            ContextTypeName="BLL.DataContextClasses.DataClassesDataContext" 
                            Select="new (ID, Descripcion)" TableName="Paises">
                        </asp:LinqDataSource>
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                        <div class="justifyright">
                            <asp:Button ID="Button_AgregarEmpresa" runat="server" Text="Agregar" 
                                onclick="Button_AgregarEmpresa_Click" ValidationGroup="ValGroupNuevaEmpresa" />
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
        <asp:Label ID="Label_MensajeErrorAgregarEmpresa" runat="server" ForeColor="#CC0000"></asp:Label>
        <asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="ValGroupNuevaEmpresa" />
        <br />
    </asp:Panel>
    
    <div class="Header2">
            Gestion de Vacantes 
        <asp:Button ID="Button_MostrarPanelVacantes" 
                runat="server" Text="▼" onclick="Button_MostrarPanelVacantes_Click" CausesValidation="false" />
    </div>
    <asp:Panel ID="Panel_Vacantes" runat="server" Visible="False">
        <h4>
            Empresas Activas</h4>       
        <asp:GridView ID="GridView_EmpresasActivas" runat="server" AutoGenerateColumns="False"
            DataKeyNames="ID" OnSelectedIndexChanged="GridView_EmpresasActivas_SelectedIndexChanged">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" Visible="false" />
                <asp:BoundField DataField="Activa" Visible="false" />
                <asp:BoundField DataField="Nombre" HeaderText="Nombre" />
                <asp:BoundField DataField="Descripcion" HeaderText="Descripcion" ReadOnly="True" />
            </Columns>
            <EmptyDataTemplate>
                <asp:Label ID="Label_NoEmpresasActivas" runat="server" SkinID="MensajeError" Text="No hay empresas activas actualmente"
                    Visible="true"></asp:Label>
            </EmptyDataTemplate>
        </asp:GridView>
        <asp:Panel ID="Panel_VacantesDeEmpresa" runat="server" Visible="false">
            <h4>
                Vacantes</h4>
            <asp:GridView ID="GridView_Vacantes" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
                OnSelectedIndexChanged="GridView_Vacantes_SelectedIndexChanged" 
                onrowdatabound="GridView_Vacantes_RowDataBound">
                <Columns>
                    <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" Visible="false" />
                    <asp:TemplateField HeaderText="Activa">
                        <ItemTemplate>
                            <%# this.Traducir((bool)Eval("SiActiva")) %>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <%--<asp:BoundField DataField="SiActiva" HeaderText="Activa" Visible="true" />Traducir--%>
                    <asp:BoundField DataField="Puesto" HeaderText="Puesto" />
                    <asp:BoundField DataField="Descripcion" HeaderText="Descripcion" ReadOnly="True" />
                </Columns>
                <EmptyDataTemplate>
                    <asp:Label ID="Label_NoVacantes" runat="server" SkinID="MensajeError" Text="Esta empresa no tiene vacantes"
                        Visible="true"></asp:Label>
                </EmptyDataTemplate>
            </asp:GridView>
            <br />
            <br />
            <table>
                <thead>
                </thead>
                <tbody>
                    <tr>
                        <td>
                            <asp:Button ID="Button_ActivarVacante" runat="server" Text="Activar" Enabled="False"
                                Width="120px" OnClick="Button_ActivarVacante_Click" EnableViewState="false" />
                        </td>
                        <td>
                            <asp:Button ID="Button_DesactivarVacante" runat="server" Text="Desactivar" Enabled="False"
                                Width="120px" OnClick="Button_DesactivarVacante_Click" EnableViewState="false" />
                        </td>
                    </tr>
                </tbody>
            </table>
            <br />
        </asp:Panel>
    </asp:Panel>
        
    <div class="Header2">
        Manejo de habilidades
        <asp:Button ID="Button_MostrarPanelHabilidades" runat="server" Text="▼" 
            onclick="Button_MostrarPanelHabilidades_Click" CausesValidation="false" />
    </div>
    <asp:Panel ID="Panel_Habilidades" runat="server" Visible="False">
        <br />
        <table>
            <thead>
            </thead>
            <tbody>
                <tr>
                    <td>
                        Eliminar habilidad:
                    </td>
                    <td>
                        <asp:DropDownList ID="DropDownList_HabilidadesDeSistema" runat="server" Width="220px"
                            AppendDataBoundItems="True" DataSourceID="HabilidadLinqDataSource" 
                            DataTextField="Descripcion" DataValueField="ID"                             
                            onselectedindexchanged="DropDownList_HabilidadesDeSistema_SelectedIndexChanged" 
                            AutoPostBack="True" EnableViewState="false">
                            <asp:ListItem Value="0" Text="[Seleccione una habilidad]"></asp:ListItem>
                        </asp:DropDownList>
                        <asp:LinqDataSource ID="HabilidadLinqDataSource" runat="server" 
                            ContextTypeName="BLL.DataContextClasses.DataClassesDataContext" 
                            Select="new (ID, Descripcion, FechaCreacion)" TableName="Habilidades" 
                            OrderBy="Descripcion" EnableViewState="False">
                        </asp:LinqDataSource>
                        <div>
                            <asp:Label ID="Label_MensajeErrorHabilidadEliminar" runat="server" ForeColor="#CC0000"></asp:Label>
                        </div>
                    </td>
                    <td>
                        <asp:Button ID="Button_EliminarHabilidad" runat="server" Text="Eliminar" 
                            Enabled="False" onclick="Button_EliminarHabilidad_Click" EnableViewState="false" />
                    </td>
                </tr>
                <tr>
                 <td>
                        <asp:Button ID="Button_OrganizarPorFecha" runat="server" 
                            Text="Organizar por Fecha" onclick="Button_OrganizarPorFecha_Click" />
                    </td>
                    <td>
                        <asp:Button ID="Button_OrganizarPorPalabra" runat="server" 
                            Text="Organizar Alfabeticamente" onclick="Button_OrganizarPorPalabra_Click" />
                    </td>
                </tr>
                <tr>
                    <td>
                        Añadir Habilidad Nueva:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_NuevaHabilidad" runat="server" Width="220px" 
                            ontextchanged="TextBox_NuevaHabilidad_TextChanged" AutoPostBack="True"></asp:TextBox>
                        <div>
                            <asp:Label ID="Label_MensajeErrorNuevaHabilidad" runat="server" ForeColor="#CC0000"></asp:Label>
                        </div>
                    </td>
                    <td>
                        <asp:Button ID="Button_NuevaHabilidad" runat="server" Text="Añadir" 
                            Enabled="False" onclick="Button_NuevaHabilidad_Click" EnableViewState="false" />
                    </td>
                </tr>
            </tbody>
        </table>
        <asp:Label ID="Label1" runat="server" ForeColor="#CC0000"></asp:Label>
        <br />
    </asp:Panel>
    <div class="Header2">
        Editar documentos
        <asp:Button ID="Button_MostrarPanelDocumentos" runat="server" Text="▼" 
            onclick="Button_MostrarPanelDocumentos_Click" CausesValidation="false" />
    </div>
    <asp:Panel ID="Panel_Documentos" runat="server" Visible="False">
        <table>
            <thead>
            </thead>
            <tbody>
                <tr>
                    <td>
                    </td>
                    <td>
                        <asp:DropDownList ID="DropDownList_Documentos" runat="server" Width="250px" 
                            DataSourceID="DocumentoLinqDataSource" DataTextField="Descripcion" 
                            DataValueField="ID" 
                            onselectedindexchanged="DropDownList_Documentos_SelectedIndexChanged" 
                            AppendDataBoundItems="True" AutoPostBack="True">
                            <asp:ListItem Value="0" Text="[Seleccione un documento]"></asp:ListItem>
                        </asp:DropDownList>
                        <asp:LinqDataSource ID="DocumentoLinqDataSource" runat="server" 
                            ContextTypeName="BLL.DataContextClasses.DataClassesDataContext" 
                            Select="new (Descripcion, ID)" TableName="TipoDocumentos">
                        </asp:LinqDataSource>
                    </td>
                </tr>
                <tr>
                    <td>
                        Nombre:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_NombreDocumento" runat="server" Width="250px"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Periodicidad
                        <br />
                        (en semanas):</td>
                    <td>
                        <asp:TextBox ID="TextBox_TiempoEnvio" runat="server"></asp:TextBox>
                        &nbsp; Fecha de Inicio:
                        <asp:TextBox ID="TextBox_AñoInicio" runat="server" Width="57px"></asp:TextBox>
                        <asp:TextBox ID="TextBox_MesInicio" runat="server" Width="42px"></asp:TextBox>
                        <asp:TextBox ID="TextBox_DiaInicio" runat="server" Width="44px"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Destinatario:
                    </td>
                    <td>
                        <asp:DropDownList ID="DropDownList_Destinatarios" runat="server" Width="250px">
                            <asp:ListItem Value="0" Text="[Seleccione un destinatario]"></asp:ListItem>
                            <asp:ListItem Value="1" Text="Empresas"></asp:ListItem>
                            <asp:ListItem Value="2" Text="Egresados"></asp:ListItem>
                            <asp:ListItem Value="3" Text="Estudiantes"></asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td>
                        Cuerpo:
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_CuerpoDocumento" runat="server" Width="432px" Height="191px"
                            TextMode="MultiLine"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td class="justifyright">
                        <asp:Button ID="Button_ModificarDocumento" runat="server" Text="Modificar" 
                            Enabled="False" onclick="Button_ModificarDocumento_Click" />
                        <asp:Button ID="Button_AgregarDocumento" runat="server" Text="Agregar" 
                            onclick="Button_AgregarDocumento_Click" />
                    </td>
                </tr>
            </tbody>
        </table>
        <div>
            <asp:Label ID="Label_MensajeErrorDocumento" runat="server" ForeColor="#CC0000"></asp:Label>
        </div>
    </asp:Panel>
    <div class="Header2">
        Generar reportes
        <asp:Button ID="Button_MostrarPanelReportes" runat="server" Text="▼" 
            onclick="Button_MostrarPanelReportes_Click" CausesValidation="false" />
    </div>
    <asp:Panel ID="Panel_Reportes" runat="server" Visible="False">
        <table>
            <thead>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <asp:Button ID="Button_GenerarReporte" runat="server" Text="Generar" 
                            Width="130px" onclick="Button_GenerarReporte_Click" />
                    </td>
                </tr>
            </tbody>
        </table>
         <asp:Label ID="Label_MensajeErrorGenerarReporte" runat="server" ForeColor="#CC0000"></asp:Label>
    </asp:Panel>
    <div class="Header2">
        Modificar Parametros
        <asp:Button ID="Button_MostrarPanelParametros" runat="server" Text="▼" 
            onclick="Button_MostrarPanelParametros_Click" CausesValidation="false" />     
    </div>
    <asp:Panel ID="Panel_Parametros" runat="server" Visible="False">
        <table>
            <thead>
            </thead>
            <tbody>
                <tr>
                    <td>
                        Tiempo de vida de vacante
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox_ParametroModificarTiempoVacante" runat="server" Width="57px" MaxLength="3"></asp:TextBox>
                        
                    </td>
                    <td>
                        <asp:Button ID="Button_ModificarTiempoVacante" runat="server" Text="Modificar" Width="100px"
                            OnClick="Button_ModificarTiempoVacante_Click" />
                    </td>
                </tr>
            </tbody>
        </table>
        <asp:Label ID="Label_ErrorModificarParametros" runat="server" ForeColor="#CC0000"></asp:Label>
    </asp:Panel>
</asp:Content>